package cn.tedu.apiday04;

import java.util.ArrayList;
import java.util.List;
//数组有缺点：要求数据类型是单一类型，数组一旦创建长度不能变，遍历方式单一，不适合插入、删除等繁琐操作。
//集合最顶级的是接口  Collection接口
public class Generic {//测试泛型
    public static void main(String[] args) {
        //为什么     就是想要检查数据类型
        //泛型想要模拟数组  想要向数组中添加数据  必须是约定的类型，不是的话，在编译期间就报错了
        int[] a = {'1',2,3,4};

        //在没有使用泛型时，集合中科院添加各种类型的数据，太自由
        List list = new ArrayList();
        list.add(1);
        list.add(1.1);
        list.add(true);
        list.add("hello");
        //如果想要约束约束集合中的元素类型怎么做？   泛型，可以检查集合中元素类型+可以提前报错时机
        List <Integer> list1 = new ArrayList();
        list1.add(1);//自动装箱，相当于拿着基本类型的数字1，进行了包装底层自动调用Integer.valueOf（1），把基本类型的1变成了包装类类型并存入集合
//        list1.add(1.1);没有通过泛型的类型检查，编译器就会报错
//        list1.add(true);
//        list1.add("hello");


    }
}

